/**
 * 
 */
package org.sishoras.logic;

import java.util.List;

import org.sishoras.dao.DAOFactory;
import org.sishoras.interceptors.DAOInterceptor;
import org.sishoras.modelo.Adiantamento;
import org.sishoras.modelo.Professor;
import org.vraptor.annotations.Component;
import org.vraptor.annotations.InterceptedBy;

/**
 * This class is part of the SisHoras project	
 * Creation:  30/12/2008 20:33:02
 * TODO
 * 
 * @author Walker Rabelo
 * 
 */
@Component
@InterceptedBy(DAOInterceptor.class)
public class AdiantamentoLogic {

	private final DAOFactory daoFactory;
	
	private Adiantamento adiantamento;	
	private List<Adiantamento> adiantamentos;
	
	public AdiantamentoLogic(DAOFactory factory) {
		// TODO Auto-generated constructor stub
		this.daoFactory = factory;
	}
	public void form(){
		
	}	
	public void editar(Adiantamento adiantamento){
		this.adiantamento = this.daoFactory.getAdiantamentoDao().carregar(adiantamento.getId());
	}	
	public void armazena(Adiantamento adiantamento){
		this.daoFactory.beginTransaction();
		this.daoFactory.getAdiantamentoDao().atualiza(adiantamento);
		this.daoFactory.commit();
	}
	public void remove(Adiantamento adiantamento){
		this.daoFactory.beginTransaction();
		this.daoFactory.getAdiantamentoDao().remover(adiantamento);
		this.daoFactory.commit();
	}
	public void lista(){
		adiantamentos = this.daoFactory.getAdiantamentoDao().getLista();
	}

	/**
	 * @return the adiantamentos
	 */
	public List<Adiantamento> getAdiantamentos() {
		return adiantamentos;
	}

	/**
	 * @return the professores
	 */
	public List<Professor> getListaProfessores() {
		return this.daoFactory.getProfessorDao().getLista();
	}	
	public Adiantamento getAdiantamento() {
		return adiantamento;
	}
}
